package gui;

import gui.factory.ReservaYCompraTableFactory;
import gui.factory.TableFactory;

import java.awt.Color;

import org.uqbar.arena.actions.MessageSend;
import org.uqbar.arena.layout.ColumnLayout;
import org.uqbar.arena.layout.HorizontalLayout;
import org.uqbar.arena.widgets.Button;
import org.uqbar.arena.widgets.Label;
import org.uqbar.arena.widgets.Panel;
import org.uqbar.arena.windows.Window;
import org.uqbar.arena.windows.WindowOwner;

@SuppressWarnings("serial")
public class ReservasYComprasAsientosWindow extends	Window<ReservasYComprasAsientos>
{

	TableFactory tableFactory;

	public ReservasYComprasAsientosWindow(WindowOwner parent,ReservasYComprasAsientos reservaYCompraAsiento)
	{
		super(parent, reservaYCompraAsiento);
		this.tableFactory = new ReservaYCompraTableFactory();
		this.setTitle("Aterrizar.com");

	}

	protected void agregar_titulo_usuario(Panel panel) {
		Panel p = new Panel(panel);
		p.setLayout(new HorizontalLayout());

		// Armo el titulo
		String titulo = this.getModelObject().getTipo() + " de "
				+ this.getModelObject().getUsuario().getNombre();

		// Agrego el label al panel.
		new Label(p).setText(titulo).setForeground(Color.black);

	}

	protected void agregar_grilla_reservas(Panel panel) {

		this.tableFactory.createTable(panel, "resultados",
				"itinerarioSeleccionado");

	}

	protected void agregar_boton_close(Panel panel) {
		Panel actionsPanel = new Panel(panel);
		actionsPanel.setLayout(new HorizontalLayout());

		new Button(actionsPanel).setCaption("Cerrar").onClick(
				new MessageSend(this, "close"));
	}

	@Override
	public void createContents(Panel mainPanel) {
		// TODO Auto-generated method stub
		Panel FormPanel = new Panel(mainPanel);
		FormPanel.setLayout(new ColumnLayout(2));

		// Agrego a la ventana, el label "Reservas de ...."
		agregar_titulo_usuario(mainPanel);

		// Agrega la grilla de resultados.
		agregar_grilla_reservas(mainPanel);

		// Agrega el boton de cerrar.
		agregar_boton_close(mainPanel);
	}

}
